
/**
 * 定义：JSXAttribute 节点表示 JSX 元素的属性。
 */

const code = `<MyComponent prop="value" />`;

const ast = parser.parse(code, { plugins: ['jsx'] });

// 定义 visitor
const visitor = {
    JSXAttribute(path) {
        console.log(`Found JSX Attribute: ${path.node.name.name} = ${path.node.value.value}`);
        if (path.node.name.name === 'prop') {
            path.node.value.value = 'newValue'; // 修改 prop 的值
        }
    }
};

// 遍历 AST
traverse(ast, visitor);

// 生成新的代码
const { code: transformedCode } = generate(ast);
console.log(transformedCode);